From: Keir Fraser Date: Fri, 11 Jun 2010 08:35:25 +0000 (+0100) Subject: libxl: Fix blktap2 for xl cset 21586:c3c2bcafe471 X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~11944 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/success//%22http:/www.example.com/cgi/success/?a=commitdiff_plain;h=072efe5d47e1c1c3172ee4815dffcba8177717b2;p=xen.git libxl: Fix blktap2 for xl cset 21586:c3c2bcafe471 Avoids a double free on automatic memory. Signed-off-by: Daniel Stodden --- diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c index 87fd44d058..c502299e27 100644 --- a/tools/libxl/libxl.c +++ b/tools/libxl/libxl.c @@ -1253,13 +1253,15 @@ static char *get_blktap2_device(struct libxl_ctx *ctx, static char *make_blktap2_device(struct libxl_ctx *ctx, const char *name, const char *type) { - char *params, *devname; + char *params, *devname = NULL, *rv = NULL; int err; params = libxl_sprintf(ctx, "%s:%s", type, name); - devname = NULL; err = tap_ctl_create(params, &devname); - free(params); - return err ? NULL : devname; + if (!err) { + rv = libxl_sprintf(ctx, devname); + free(devname); + } + return rv; } int libxl_device_disk_add(struct libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk)